load("//bazel:skia_rules.bzl", "exports_files_legacy", "generate_cpp_files_for_headers", "skia_cc_library", "skia_filegroup", "split_srcs_and_hdrs")

package(
    default_applicable_licenses = ["//:license"],
)

licenses(["notice"])

exports_files_legacy()

MOCK_FILES = [
    "GrMockAttachment.h",
    "GrMockBuffer.h",
    "GrMockCaps.cpp",
    "GrMockCaps.h",
    "GrMockGpu.cpp",
    "GrMockGpu.h",
    "GrMockOpTarget.h",
    "GrMockOpsRenderPass.h",
    "GrMockRenderTask.h",
    "GrMockSurfaceProxy.h",
    "GrMockTexture.h",
    "GrMockTypes.cpp",
    "GrMockTypesPriv.h",
]

split_srcs_and_hdrs(
    name = "mock",
    files = MOCK_FILES,
)

skia_filegroup(
    name = "srcs",
    srcs = [":mock_srcs"],
    visibility = ["//src/gpu/ganesh:__pkg__"],
)

skia_filegroup(
    name = "private_hdrs",
    srcs = [":mock_hdrs"],
    visibility = ["//src/gpu/ganesh:__pkg__"],
)

skia_cc_library(
    name = "ganesh_mock",
    hdrs = [
        "//include/gpu/mock:public_hdrs",
    ],
    visibility = ["//:__pkg__"],
    deps = [
        "//src/gpu/ganesh",
    ],
)

generate_cpp_files_for_headers(
    name = "headers_to_compile",
    headers = [
        "GrMockAttachment.h",
        "GrMockBuffer.h",
        "GrMockOpsRenderPass.h",
        "GrMockOpTarget.h",
        "GrMockRenderTask.h",
        "GrMockSurfaceProxy.h",
        "GrMockTexture.h",
        "GrMockTypesPriv.h",
    ],
)
